package groupe;

import java.util.ArrayList;
import java.util.List;

public class Z6ZxZ3Z extends FiniteGroup implements AbelianGroup {

    public static List<Z6ZxZ3Z> elements;
    private Z6Z Z6;
    private Z3Z Z3;

    public Z6ZxZ3Z() {
        new Z6Z();
        new Z3Z();
        elements = new ArrayList<Z6ZxZ3Z>(18);
        List<Z6Z> e6 = Z6Z.elements;
        List<Z3Z> e3 = Z3Z.elements;
        for (int j = 0 ; j < 3 ; j++) {
            for (int i = 0 ; i < 6 ; i++) {
                elements.add(new Z6ZxZ3Z(e6.get(i), e3.get(j)));
            }
        }
    }

    public Z6ZxZ3Z(Z6Z z6, Z3Z z3) {
        this.Z6 = z6;
        this.Z3 = z3;
    }

    public Z6ZxZ3Z lci(Z6ZxZ3Z t) {
        return new Z6ZxZ3Z(Z6.lci(t.Z6), Z3.lci(t.Z3));
    }

    public Z3Z z3() {
        return Z3;
    }

    public Z6Z z6() {
        return Z6;
    }

    @Override
    public String toString() {
        super.toString();     
        return "(" + Z6 + "," + Z3 + ") ";
    }
//    @Override
//    public String toString() {
//        super.toString();
//        String ret = "";
//        for (Z6ZxZ3Z z6zxz3z : Z6ZxZ3Z.elements) {
//            ret += "(" + z6zxz3z.Z6 + "," + z6zxz3z.Z3 + ") ";
//        }
//
//        return ret;
//    }
}
